package com.heaven.customerServer.customerController.vo.comment;

import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 评论加载返回结果
 */
@Data
public class LoadCommentRes implements Serializable {
    /** 评论ID */
    private String commentId;

    /** 评论媒体对象的ID，可以为视频、文章 */
    private String targetId;

    /** 父评论的commentId，为一级评论时为 "" */
    private String fatherId;

    /** 发表评论的用户ID */
    private String userId;

    /** 本条评论者的用户信息 */
    private UserInfo userInfo;

    /** 当本条评论是评论其它评论时本属性不为空，否则为空 */
    private UserInfo toUserInfo;

    /** 评论其它评论时其它评论的ID，直接评论媒体类容此项为 "" */
    private String toCommentId;

    /** 评论内容 */
    private String content;

    /** 评论时间 */
    private Date time;

    private int beLikedCount;

    private int beDislikedCount;

    /** 评论对于加载用户的点赞状态 */
    private boolean isLiked;
    private boolean isDisliked;

    // 评论的子评论
    private List<LoadCommentRes> children;

    @Data
    public static class UserInfo implements Serializable {
        private String userId;
        private String nickname;
        private String header;
        private String introduce;
    }
}
